home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_11 / allison / exhaust1.cpp < prev    next >
C/C++ Source or Header  |  1994-09-05  |  600b  |  37 lines

  1. LISTING 17 - Illustrates set_new_handler
  2. // exhaust1.cpp
  3. #include <iostream.h>
  4. #include <stdlib.h>
  5. #include <new.h>
  6.  
  7. inline void my_handler()
  8. {
  9.     cout << "Memory exhausted" << endl;
  10.     abort();
  11. }
  12.  
  13. main()
  14. {
  15.     set_new_handler(my_handler);
  16.  
  17.     for (int i = 0; ; ++i)
  18.     {
  19.         (void) new double[100];
  20.         if ((i+1)%10 == 0)
  21.             cout << (i+1) << " allocations" << endl;
  22.     }
  23. }
  24.  
  25. /* Output:
  26. 10 allocations
  27. 20 allocations
  28. 30 allocations
  29. 40 allocations
  30. 50 allocations
  31. 60 allocations
  32. 70 allocations
  33. Memory exhausted
  34. Abnormal program termination
  35. */
  36.  
  37.